Warzone 2100 - Readme
=====================
Content
-------
1. Contents of Warzone 2100
2. State of the game
 2.1 Reporting bugs
3. Configuration
 3.1 WZ-dir and configuration file
 3.2 Command-line options
 3.3 Music
 3.4 Multiplaying via internet
4. Cheats
 4.1 Cheat-mode
 4.2 Cheats lists
5. Debug-keys
6. Important hotkeys
7. Additional resources

1. Contents of Warzone 2100
===========================
Warzone 2100, released in 1999 and developed by Pumpkin Studios, was a ground-
breaking and innovative 3D real-time strategy game.

In 2004 Eidos, in collaboration with Pumpkin Studios, decided to release
the source for the game under the terms of the GNU GPL, including everything
but the music and in-game video sequences.

Additionally all multiplayer-maps that were available in Warzone 2100 1.10,
the last official version by Pumpkin Studios, are available in Warzone 2100 as
well.

2. State of the game
====================
After the liberation of the Warzone 2100 source-code on December 6th, 2004, all
proprietary technologies had been replaced with open-source-counterparts.

Right now supported platforms are GNU/Linux, Mac OS X 10.4 (Tiger) and Windows
(98 - XP). There are reports that Warzone 2100 is working on BSD, too. While 
Warzone 2100 may work under Windows Vista it is not supported by us.

The game is becoming more and more stable over time, but you should not expect
the game to run without any issues.

2.1 Reporting Bugs
------------------
This game still has bugs and if you run into one, please use the bugtracker
(https://gna.org/bugs/?group=warzone) to report this bug. In order to faster fix
those bugs we require that you follow these rules:

   1. If the game crashes you may save a memory dump. Please do so and upload it
      when reporting the bug. (Linux locates that file at /tmp/warzone2100.gdmp)
      A self created backtrace is just as useful.
   2. Give as much information about what you were doing before the crash/bug
      occured.
   3. Try to reproduce the bug and add a description of the process to your bug-
      report.
   4. You may even upload save-games. These consist of one or two file(s) and
      one folder. All two/three are named after your save-game (e.g.
      MySaveGame.es, MySaveGame.gam and the folder MySaveGame).
   5. Bug-reports are no submit-&-forget-reports. It may be that you forgot some
      information or forgot to upload a file. So it is, too, in your interest to
      watch the bug-report after it has been submitted. Additionally you receive
      e-mails of comments to your bug-report.

3. Configuration
================
3.1 WZ-dir and configuration file
---------------------------------
Warzone saves your configuration data in a file named "config". The location of
this file depends on the operating system.

Warzone-dir under GNU/Linux
***************************
Under GNU/Linux the warzone-dir can be found in your home-directory, it's called
".warzone2100". The leading dot indicates that it is a hidden folder so
depending on your configuration you may not be able to see it. However, you can
still access it by typing the path into your address-bar.

Warzone-dir under Windows
*************************
The folder is called "Warzone 2100" and is located in "My Documents".

Warzone-dir under Mac OS X
**************************
The folder "Warzone 2100" can be found in your home-directory at:
~/Library/Application Support/

3.2 Command-line options
------------------------
Additionally to the configuration-file Warzone 2100 can be started with dif-
ferent options and arguments.

Notes: These options all have two dashes (--), not one dash only (-). Trying to
use the options with one dash only will not work. The game will display a notice
when trying to use invalid command-line options. Arguments that need paths need
them in the form they are used on the operating system.

--fullscreen
       Starts the game in fullscreen-mode

--window
       Starts the game in windowed mode

--resolution WIDTHxHEIGHT
       Sets the resolution Warzone 2100 will use; usable for fullscreen mode and
       windowed mode

--shadows
       Enables shadows

--noshadows
       Disables shadows

--sound
       Enables sound

--nosound
       Disables sound

--datadir path
       Sets the data-directory to the path specified

--configdir path
       Sets the configuration-directory to the path specified

--savegame name
       Loads a saved game

--cheat
       Enables the usage of cheats and debug-keys, see cheats and debug-keys

--help
       Outputs a help message and exits; only useful when run from command-line

--debug option
       Shows debug information; option can be any of the following: all, main,
       sound, video, wz, 3d, texture, net, memory, error, script. If you want
       more than one option, you will have to use another --debug. The option
       "all" contains every other option.

--debugfile file
       Directs debug output to the specified file.

--version
       Outputs the Warzone 2100 version and exits

--mod_ca mod-file
       Enables the specified campaign mod. You have to specify the full name of
       the mod-file.

--mod_mp mod-file
       Enables the specified multiplayer mod. You have to specify the full name
       of the mod-file.

--mod mod-file
       Enables the specified mod globally - for campaign and multiplayer. You
       have to specify the full name of the mod-file. Global mods are only
       useful when things are changed that affect both, campaign and multi-
       player.


Note: Some options have corresponding entries in the configuration-file and will
persist from one start of Warzone 2100 to the next. For example starting the
game with --nosound only once will silence it as long as you do not start it
with --sound or change the corresponding value in the configuration file. Fur-
ther information on command-line options can be found at the Wiki of the War-
zone 2100 Resurrection Project (http://wiki.wz2100.net/command_line_options).

3.3 Music
---------
As the original game music is part of the data that was not liberated, music is
reintroduced in a different way. A playlist-system is used that can point to any
*.ogg in your warzone-data-path. This is still experimental and we are gradually
making this more usable.

Warzone reads the following two playlists (in the order they are mentioned) and
the first playlist found will be used:

* Warzone-directory in your personal directory:
	o for GNU/Linux: ~/.warzone2100/music/music.wpl
	o for Windows: ~/My Documents/Warzone 2100/music/music.wpl
   o for Mac OS X: ~/Library/Application Support/Warzone 2100/music/music.wpl
* Warzone-install-path:
	o <whereverwarzoneisinstalled>/music/music.wpl

Using the playlist
******************
The playlist contains two sections, [game] and [menu]. For each section you can
define a list of songs you want to be played in-game. The only supported file-
format is Ogg/Vorbis as long as all necessary libraries are installed.

"shuffle=yes" specifies that you want the songs to played in random order. You
need to set this for each section individually.

"path=." specifies that the following files are found in the folder the playlist
was found. If you do not specify a path all file-names have to be given with
"absolute" path. This "absolute" path is still relative to your warzone-data-
dir. File-names have to match those in the file-system and you can not specify
files outside of the warzone-data-dir.

Note: Since we are using PhysFS we recommend you to use only Latin letters in
directory and file-names (more exactly this means: A to Z, a to z, 0 to 9, _-+
and space). You will receive the following error (running with --debug sound) if
"bad" characters are used: Failed opening [[PATH TO FILE]]: Insecure filename.

This example shows how a playlist-file could look like:
--------------------------------------------------------------------------------
[game]
path=.
shuffle=yes
neos_aurore.ogg
neos_chocolat.ogg
neos_down.ogg
neos_esperance.ogg
neos_indy.ogg

[menu]
path=.
neos_symphonie_du_vide.ogg
--------------------------------------------------------------------------------

Music replay may be choppy, so you may want to use an external player for your
music instead.

3.4 Multiplaying via internet
-----------------------------
There are two methods to start a multiplayer-game via internet: using the host's
IP or using the lobby-server. Make sure to be able to communicate on TCP-ports
9998 and 9999.

You can choose whether to connect via Lobby or IP:

* If you choose IP, Warzone 2100 asks you for the ip-address of the host and
  will try to connect to that IP.
* If you choose Lobby, Warzone 2100 will connect to the lobby server, as long as
  the lobby-server-address in your config-file has not been changed.

You will see a list of games from which you can select one.

You can kick unwanted players out of not-yet-started game by clicking left on
them while holding the right mouse button.

When you are hosting a game it will automatically be listed on the lobby-server.
If you do not want your games to be listed on the lobby-server, you have to
change the entry "masterserver_name=lobby.wz2100.net" in your config to some-
thing invalid as "nomasterserverplease".

If you then want to see the games that are listed on the lobby-server you may
enter "lobby.wz2100.net" when prompted to enter the host's IP or change the
entry in the config-file back. You will have to restart Warzone 2100 in order
for config-changes to take effect.

4. Cheats
=========
Like many other games Warzone 2100 features a certain set of cheats that can be
used to have an advantage in the singleplayer-campaign and skirmish-games or to
just help mod- and map-makers with testing. Cheats do not work in multiplayer-
mode (except skirmish).

4.1 Cheat-mode
--------------
To be able to use cheats in the first place, you will have to start Warzone 2100
with the option --cheat. While playing, press right shift and backspace simul-
taneously. An on-screen message should appear telling you that cheat-mode has
been enabled. You can disable it using the same key combination again. Enab-
ling/disabling cheat-mode is only possible while playing, not while in the
menus.

4.2 Cheats lists
----------------
After activating cheat-mode cheats can be entered using the normal chat-
function. Cheats are ordered by their use and where they can be used.

General purpose cheats
**********************
General purpose cheats work in both, campaign-mode and skirmish/tutorial/fast-
play.

biffer baker
       Your units do more damage and are stronger

double up
       Your units are twice as strong

give all
       Allows you to build and research everything

work harder
       All currently active research topics are instantly researched

research all
       Everything is researched instantly


Note: Using 'give all' will make research topics available which have an
artifact as 3D-model. Do not click those as this will cause the game to
instantly crash.

Campaign-only cheats
********************
easy
       Sets difficulty to easy

normal
       Sets difficulty to normal

hard
       Sets difficulty to hard

get off my land
       Removes all enemy units

kill
       Kills the selected units or building

let me win
       You win the current mission

time toggle
       Starts/stops the mission timer

whale fin
       Toggles infinite power on and off; everything is for free

superpower
       Gives you maximum power

more power
       Adds 1000 power to your pool


Note: The difficulty cheats do not stack. This means that you cannot make the
game easier by entering the easy-cheat multiple times.

Miscellaneous cheats
********************
Cheats listed here do not have to be advantageous when used. Some are helpful
for getting specific data or to help with debugging and thus aid people in
working with the game.

build info
       Outputs the build-date of the game

count me
       Outputs the number of objects in the game

deity
       Toggles the fog of war on and off

demo
       Starts/stops the demonstration mode

droidinfo
       Outputs unit information and statistics

john kettley
       Cycles through different weathers: rain, snow and clear

no faults
       Plays audio clip: "There are no faults in the renderer at the moment"

sensors
       Toggles display of the sensor ranges of units and buildings on and off

timedemo
       Outputs network and renderer information


5. Debug-keys
=============

6. Important hotkeys
====================
Hotkey                         Effect
Ctrl + Tab                     Toggle display of terrain in map
Shift + Tab                    Toggle friend/foe-colours in map
                               (you: white, ally: yellow, foe: red)
Alt + Enter (Linux + X11 only) Toggle between fullscreen and windowed mode
Alt + S                        Toggle shadows
Shift + Backspace              Allow/disallow usage of cheats
Ctrl + O                       Display debug-menu

7. Additional resources
=======================
Homepage of the Warzone Resurrection Project (English):
http://wz2100.net/

Gna!-Project site of Warzone (English):
https://gna.org/projects/warzone/

Warzone-Wiki (English):
http://wiki.wz2100.net/

Warzone2100.de (German):
http://warzone2100.de/

AUTHOR: Kreuvf (kreuvf@warzone2100.de)
LAST UPDATE: 2008/06/06
